/**
 * Copyright (c) 2016-2019 人人开源 All rights reserved.
 * <p>
 * https://www.renren.io
 * <p>
 * 版权所有，侵权必究！
 */

package io.renren.service;

import io.renren.datasource.annotation.DataSource;
import io.renren.modules.sys.dao.SysUserDao;
import io.renren.modules.sys.entity.SysUserEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

/**
 * 测试多数据源
 *
 * @author Mark sunlightcs@gmail.com
 */
@Service
//@DataSource("slave1")
public class DynamicDataSourceTestService {
  @Autowired
  private SysUserDao sysUserDao;

  @Transactional
  public void updateUser(Long id) {
    SysUserEntity user = new SysUserEntity();
    user.setUserId(id);
    user.setMobile("13500000000");
    sysUserDao.updateById(user);
  }

  @Transactional
  @DataSource("slave1")
  public void updateUserBySlave1(Long id) {
    SysUserEntity user = new SysUserEntity();
    user.setUserId(id);
    user.setMobile("13500000001");
    sysUserDao.updateById(user);
  }

  @DataSource("slave2")
  @Transactional
  public void updateUserBySlave2(Long id) {
    SysUserEntity user = new SysUserEntity();
    user.setUserId(id);
    user.setMobile("13500000002");
    sysUserDao.updateById(user);

    //测试事物
    int i = 1 / 0;
  }
}